Skip to content

improve cryptography implementation#166

Merged
DavidBadura merged 3 commits into1.17.xfrom
improve-cryptography
Mar 9, 2026
Merged

improve cryptography implementation#166
DavidBadura merged 3 commits into1.17.xfrom
improve-cryptography

Conversation

@DavidBadura
Copy link
Member

@DavidBadura DavidBadura commented Mar 5, 2026

  • Always use a newly generated IV for encryption
  • Split CypherKey into CypherKey and EncryptedData
  • Allow key rotation
  • other api improvements

@DavidBadura DavidBadura added this to the 1.17.0 milestone Mar 5, 2026
@DavidBadura DavidBadura requested a review from DanielBadura March 5, 2026 15:27
@DavidBadura DavidBadura added the enhancement New feature or request label Mar 5, 2026
@github-actions
Copy link

github-actions bot commented Mar 5, 2026

Hello 👋

here is the most recent benchmark result:

StackHydratorBench
==================

+-------------------------------+------------------+------------------+-----------------+------------+
|                               | time (kde mode)                     | memory                       |
+-------------------------------+------------------+------------------+-----------------+------------+
| subject                       | Tag: <current>   | Tag: base        | Tag: <current>  | Tag: base  |
+-------------------------------+------------------+------------------+-----------------+------------+
| benchHydrate1Object ()        | 4.000μs (±0.00%) | 3.800μs (±0.00%) | 2.770mb         | 3.252mb    |
| benchExtract1Object ()        | 3.800μs (±0.00%) | 3.400μs (±0.00%) | 2.770mb         | 3.252mb    |
| benchHydrate1000Objects ()    | 2.518ms (±0.00%) | 2.605ms (±0.00%) | 3.006mb         | 3.344mb    |
| benchExtract1000Objects ()    | 2.320ms (±0.00%) | 2.334ms (±0.00%) | 2.933mb         | 3.396mb    |
| benchHydrate1000000Objects () | 1.420s (±0.00%)  | 1.432s (±0.00%)  | 3.006mb         | 3.344mb    |
| benchExtract1000000Objects () | 1.437s (±0.00%)  | 1.469s (±0.00%)  | 2.933mb         | 2.933mb    |
+-------------------------------+------------------+------------------+-----------------+------------+

HydratorWithLazyBench
=====================

+------------------------------------------+--------------------+--------------------+-----------------+------------+
|                                          | time (kde mode)                         | memory                       |
+------------------------------------------+--------------------+--------------------+-----------------+------------+
| subject                                  | Tag: <current>     | Tag: base          | Tag: <current>  | Tag: base  |
+------------------------------------------+--------------------+--------------------+-----------------+------------+
| benchHydrate1Object ()                   | 0.800μs (±0.00%)   | 1.600μs (±0.00%)   | 2.770mb         | 2.770mb    |
| benchHydrate1ObjectTriggerInit ()        | 93.800μs (±0.00%)  | 97.200μs (±0.00%)  | 2.811mb         | 2.811mb    |
| benchHydrate1000Objects ()               | 452.667μs (±0.00%) | 460.667μs (±0.00%) | 2.808mb         | 2.808mb    |
| benchHydrate1000ObjectsTriggerInit ()    | 3.388ms (±0.00%)   | 3.353ms (±0.00%)   | 2.851mb         | 2.851mb    |
| benchHydrate1000000Objects ()            | 325.986ms (±0.00%) | 312.392ms (±0.00%) | 2.809mb         | 2.809mb    |
| benchHydrate1000000ObjectsTriggerInit () | 2.193s (±0.00%)    | 2.210s (±0.00%)    | 2.851mb         | 2.851mb    |
+------------------------------------------+--------------------+--------------------+-----------------+------------+

HydratorBench
=============

+-------------------------------+--------------------+--------------------+-----------------+------------+
|                               | time (kde mode)                         | memory                       |
+-------------------------------+--------------------+--------------------+-----------------+------------+
| subject                       | Tag: <current>     | Tag: base          | Tag: <current>  | Tag: base  |
+-------------------------------+--------------------+--------------------+-----------------+------------+
| benchHydrate1Object ()        | 186.200μs (±0.00%) | 189.800μs (±0.00%) | 2.810mb         | 2.810mb    |
| benchExtract1Object ()        | 4.000μs (±0.00%)   | 4.200μs (±0.00%)   | 2.770mb         | 2.770mb    |
| benchHydrate1000Objects ()    | 2.482ms (±0.00%)   | 2.484ms (±0.00%)   | 2.861mb         | 2.861mb    |
| benchExtract1000Objects ()    | 2.540ms (±0.00%)   | 2.540ms (±0.00%)   | 2.819mb         | 2.819mb    |
| benchHydrate1000000Objects () | 1.344s (±0.00%)    | 1.353s (±0.00%)    | 2.861mb         | 2.861mb    |
| benchExtract1000000Objects () | 1.452s (±0.00%)    | 1.462s (±0.00%)    | 2.819mb         | 2.819mb    |
+-------------------------------+--------------------+--------------------+-----------------+------------+

HydratorWithCryptographyBench
=============================

+-------------------------------+-------------------+-------------------+-----------------+------------+
|                               | time (kde mode)                       | memory                       |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| subject                       | Tag: <current>    | Tag: base         | Tag: <current>  | Tag: base  |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| benchHydrate1Object ()        | 8.200μs (±0.00%)  | 8.000μs (±0.00%)  | 2.796mb         | 2.796mb    |
| benchExtract1Object ()        | 10.200μs (±0.00%) | 10.800μs (±0.00%) | 2.796mb         | 2.796mb    |
| benchHydrate1000Objects ()    | 4.512ms (±0.00%)  | 4.551ms (±0.00%)  | 3.076mb         | 3.076mb    |
| benchExtract1000Objects ()    | 6.669ms (±0.00%)  | 6.712ms (±0.00%)  | 2.944mb         | 2.944mb    |
| benchHydrate1000000Objects () | 2.608s (±0.00%)   | 2.635s (±0.00%)   | 3.076mb         | 3.076mb    |
| benchExtract1000000Objects () | 4.402s (±0.00%)   | 4.432s (±0.00%)   | 2.944mb         | 2.944mb    |
+-------------------------------+-------------------+-------------------+-----------------+------------+

StackHydratorWithCryptographyBench
==================================

+-------------------------------+------------------+-----------------+
|                               | time (kde mode)  | memory          |
+-------------------------------+------------------+-----------------+
| subject                       | Tag: <current>   | Tag: <current>  |
+-------------------------------+------------------+-----------------+
| benchHydrate1Object ()        | 5.200μs (±0.00%) | 2.796mb         |
| benchExtract1Object ()        | 5.400μs (±0.00%) | 2.796mb         |
| benchHydrate1000Objects ()    | 3.579ms (±0.00%) | 3.083mb         |
| benchExtract1000Objects ()    | 3.604ms (±0.00%) | 2.972mb         |
| benchHydrate1000000Objects () | 2.100s (±0.00%)  | 3.083mb         |
| benchExtract1000000Objects () | 2.193s (±0.00%)  | 2.972mb         |
+-------------------------------+------------------+-----------------+

This comment gets update everytime a new commit comes in!

@DavidBadura DavidBadura force-pushed the improve-cryptography branch from 325321e to 3e9e1e8 Compare March 9, 2026 08:44
@DavidBadura DavidBadura force-pushed the improve-cryptography branch from d5e4327 to 24f2efc Compare March 9, 2026 15:42
@DavidBadura DavidBadura merged commit 9c10c87 into 1.17.x Mar 9, 2026
13 of 16 checks passed
@DavidBadura DavidBadura deleted the improve-cryptography branch March 9, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants